package com.xique.park.controller.client.web.service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xique.park.controller.client.web.bean.domain.OpengateRecords;

import java.util.List;

/**
 * 开关闸记录Service接口
 *
 * @author xique
 * @date 2022-01-13
 */
public interface IOpengateRecordsService extends IService<OpengateRecords> {

    /**
     * 查询开关闸记录
     *
     * @param id 开关闸记录ID
     * @return 开关闸记录
     */
    OpengateRecords selectOpengateRecordsById(Long id);

    /**
     * 查询开关闸记录列表
     *
     * @param opengateRecords 开关闸记录
     * @return 开关闸记录集合
     */
    List<OpengateRecords> selectOpengateRecordsList(OpengateRecords opengateRecords);

    /**
     * 新增开关闸记录
     *
     * @param opengateRecords 开关闸记录
     * @return 结果
     */
    int insertOpengateRecords(OpengateRecords opengateRecords);

    /**
     * 修改开关闸记录
     *
     * @param opengateRecords 开关闸记录
     * @return 结果
     */
    int updateOpengateRecords(OpengateRecords opengateRecords);

    /**
     * 批量删除开关闸记录
     *
     * @param ids 需要删除的开关闸记录ID
     * @return 结果
     */
    int deleteOpengateRecordsByIds(List<Long> ids);

    /**
     * updateSysUserId
     *
     * @param list /
     * @return /
     */
    int updateSysUserId(List<OpengateRecords> list);

    /**
     * 统计对应值班员的手动开闸数量
     *
     * @param clientUserId 值班员ID
     * @param beginTime    开始时间
     * @param endTime      结束时间
     * @return 手动开闸数量
     */
    int selectCountByClientUser(Long clientUserId, String beginTime, String endTime);

}
